class PumpkinRenderer : public DirectionalRenderer
{
public:
	PumpkinRenderer(ITexture *texture, const Point2i &top, const Point2i &side, const Point2i &dir) :
		DirectionalRenderer(texture, top, side, dir)
	{
	}

	void Render(Schematic *schematic, RendererBase *renderer, const Block &block, const Point3i &position)
	{
		Box box(Texture);
		box.SetAll(SideTexturePosition).SetTop(TopTexturePosition).SetBottom(TopTexturePosition);

		switch (block.Data)
		{
		case 0:
			box.SetSouth(DirectionTexturePosition);
			break;
		case 1:
			box.SetWest(DirectionTexturePosition);
			break;
		case 2:
			box.SetNorth(DirectionTexturePosition);
			break;
		case 3:
			box.SetEast(DirectionTexturePosition);
			break;
		}

		renderer->Draw(box);
	}
};